const { Service } = require('egg');

class UserService extends Service {
    /**
     * 根据用户名，从数据库中，获取指定用户
     * @param {string} username 用户名
     */
    async getUserByUsername(username) {
        // mysql get 方法说明：获取 user 表中，username = 传入的 username 这一个用户
        return await this.app.mysql.get('user', { username });
    }

    /**
     * 根据校验后的用户信息，保存到数据库中
     * @param {object} user 用户信息
     */
    async create(user) {
        // 调用 Egg 封装的 insert 方法，向数据库中插入一条记录
        // 插入的字段就是 对象中有的键名，插入的字段值就是对象对应的键值
        return await this.app.mysql.insert('user', user);
    }

    /**
     * 根据传入的信息，修改数据库的用户信息
     * @param {object} user 要修改的用户信息
     */
    async update(user) {
        return await this.app.mysql.update('user', user);
    }
}

module.exports = UserService;
